The preset invention relates to a pseudorandom number generation apparatus, pseudorandom number generation method and program, and is preferably utilized to generate pseudorandom numbers.
Pseudorandom numbers have been widely used in the cryptography field to enhance security. A pseudorandom number generation apparatus that generates pseudorandom numbers has a simple structure, including a random number generation algorithm called a pseudorandom number generator, and a generation section which generates information called seeds to be input to the pseudorandom number generator. Therefore, this kind of pseudorandom number generation apparatus can be effectively applied to electronics devices with limited capability.
The pseudorandom number generator of the pseudorandom number generation apparatus may be always the same. This will produce the same stream of pseudorandom numbers until the seed is changed. Therefore, to enhance security, it is important to utilize a generation section that produces different seeds every time to generate a new stream of pseudorandom numbers. Generally, the seeds are information representing the time when they are generated.
In the field of biometric authentication, an apparatus, which is for example disclosed in Jpn. Pat. Appln. Laid-open Publication No. H10-505474 generates pseudorandom numbers using information about a living body, i.e. physical characteristics.
When performing registration, this apparatus selects some of Fourier coefficients about fingerprint information and combines them to generate a unique value. The apparatus subsequently generates filter coefficients for a spatial light modulator by using the unique value, and then stores the filter coefficients in a card. At the same time, the apparatus generates pseudorandom numbers by using the unique value as seeds, and then generates a public key from the pseudorandom numbers.
To decode the messages encoded by the public key, a user inserts the card storing the filter coefficients into a card reader, and put his/her finger on an input screen. The spatial light modulator generates optical signals by multiplying the filter coefficients stored in the card and the result of Fourier transform of the user's fingerprint together. If this user's finger is different from the registered finger, these optical signals are different from those of the registered one. This means that the unique value calculated from these optical signals are different from those of the registered one. As a result, even if the apparatus generates pseudorandom numbers by using this unique value as seeds and then produces a private key from the pseudorandom numbers, this private key cannot decode the encoded messages.